package com.example.jpetstoreclient.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.jpetstoreclient.common.CommonResponse;
import com.example.jpetstoreclient.domain.CartItem;

import java.util.List;

public interface CartItemService extends IService<CartItem> {

    //获取一个用户购物车所有内容
    CommonResponse<List<CartItem>> getAllCartItems(int user_id);

    //加入购物车
    CommonResponse<Object> addCartItem(CartItem cartItem);

    //检查库存,商品和购物车页面改变购买数量时调用该方法，通过判断修改后数量与库存的大小返回结果
    CommonResponse isAvailable(int animal_id,int number);

    //购物车页面改变数量时调用该方法（先调用isAvailable检查库存），此时传入的number应为改变后的数量
    CommonResponse<CartItem> changeQuantity(int cart_id,int number);

    //删除购物车
    CommonResponse<Object> deleteCartItem(int cart_id);

    //删除选中购物车
    CommonResponse<Object> deleteSelectedCartItems(List<Integer> ids);

    //清空购物车
    CommonResponse<Object> clearCart(int user_id);
}
